#include <unistd.h>
#include <sys/types.h>
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char const *argv[])
{
        int fd[2];
        pipe(fd); //会初始化两个文件描述符 0是读端 1是写端
        pid_t pid = fork();
        if(pid == 0){
                //son
                //ps
                close(fd[0]);
                dup2(fd[1], STDOUT_FILENO);
                execlp("ps", "ps", "aux", NULL);
                perror("execlp err");
                exit(-1);
        }else if(pid > 0){
                //parent
                close(fd[1]);
                dup2(fd[0], STDIN_FILENO);
                execlp("grep", "grep", "bash", "--color=auto", NULL);  
                perror("execlp err");
                exit(-1);      
        }
        return 0;
}
